﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Helpers.QueryObjects;
using TumbaloSoft.Models;

namespace TumbaloSoft.Helpers
{
    public class HelperGastosComunes
    {
        public static IList buscar(BusquedaGastosComunes busqueda)
        {
            //if (busqueda.prFecIni.ToShortDateString() == "01/01/0001") busqueda.prFecIni = null;
            //if (busqueda.prFecFin.ToShortDateString() == "01/01/0001") busqueda.prFecFin = null;

            //busqueda.prFecFin = busqueda.prFecFin.Date;
            return Mapper.Instance().QueryForList("GastosComunesBuscar", busqueda);
        }

        public static void pagar(GastosComunes gasto)
        {
            Mapper.Instance().Update("GastosComunesPagar", gasto);
        }

        public static void borrar(GastosComunes gasto)
        {
            Mapper.Instance().Update("GastosComunesBorrar", gasto);
        }

        public static List<GastosComunes> selectGastosMes(Edificio edificio)
        {
            List<GastosComunes> gastos = new List<GastosComunes>(Mapper.Instance().QueryForList<GastosComunes>("GastosComunesSelectMesActual", edificio));
            return gastos;
        }

        public static IList selectAll()
        {
            return Mapper.Instance().QueryForList("GastosComunesSelectAll", null);
        }

        public static IList egresos(BusquedaBalanceEconomicoEdificio busqueda)
        {
            return Mapper.Instance().QueryForList("Egresos", busqueda);
        }

        public static GastosComunes selectOne(GastosComunes gasto)
        {
            IList lista=Mapper.Instance().QueryForList("GastosComunesSelectOne", gasto);
            if (lista.Count == 0) return null;
            return (GastosComunes)lista[0];
        }

        public static int insert(GastosComunes gasto)
        {
            //if (busqueda.prFecIni.ToShortDateString() == "01/01/0001") busqueda.prFecIni = null;
            //if (busqueda.prFecFin.ToShortDateString() == "01/01/0001") busqueda.prFecFin = null;

            //busqueda.prFecFin = busqueda.prFecFin.Date;
            Mapper.Instance().Insert("GastosComunesInsert", gasto);

            return 0;
        }

        //GastosComunesBuscarMes
        public static IList buscarMes(BusquedaGastosComunes busqueda)
        {
            //if (busqueda.prFecIni.ToShortDateString() == "01/01/0001") busqueda.prFecIni = null;
            //if (busqueda.prFecFin.ToShortDateString() == "01/01/0001") busqueda.prFecFin = null;

            //busqueda.prFecFin = busqueda.prFecFin.Date;
            return Mapper.Instance().QueryForList("GastosComunesBuscarMes", busqueda);
        }

        public static IList egresostotales (BusquedaBalanceEconomicoGeneral busqueda)
        {
            return Mapper.Instance().QueryForList("EgresosTotalesBalance", busqueda);
        }
    }
}